#pragma once
#include<stdlib.h>
#include<stdbool.h>
#include<assert.h>

namespace queue
{
	typedef int QDataType;
	typedef struct QueueNode
	{
		int val;
		struct QueueNode* next;
	}QNode;

	typedef struct Queue
	{
		QNode* phead;
		QNode* ptail;
		int size;
	}Queue;

	void Init(Queue* pq);
	void Destroy(Queue* pq);

	// 
	void Push(Queue* pq, QDataType x);
	// 
	void Pop(Queue* pq);
}